package org.example.what_mall.service;

import org.example.what_mall.dto.GoodsForm;
import org.example.what_mall.dto.GoodsUpdateForm;
import org.example.what_mall.dto.ReplyForm;
import org.example.what_mall.dto.UpdatePwdForm;
import org.example.what_mall.entity.Category;
import org.example.what_mall.entity.Order;
import org.example.what_mall.entity.Spec;
import org.example.what_mall.entity.User;
import org.example.what_mall.vo.MessageVO;
import org.example.what_mall.vo.OneOrderInfoVO;
import org.example.what_mall.vo.OrderInfoVO;
import org.example.what_mall.vo.SpecVO;

import java.util.List;

public interface IAdminService {
    List<Category> getTypes();

    void changePwd(UpdatePwdForm form);

    List<User> getAllUser();

    List<User> searchUser(String word);

    void deleteUser(Integer id);

    void addType(Category category);

    void addGoods(GoodsForm form);

    void updateGoods(GoodsUpdateForm form);

    Spec addSpec(Spec spec);

    void deleteSpec(Spec spec);

    void deleteGoods(Integer id);

    List<OrderInfoVO> getOrderByState(Integer state);

    OneOrderInfoVO getOrder(Integer id);

    void changeOrder(Order order);

    void deleteOrder(Integer id);

    List<MessageVO> noReplyMessage();

    void reply(ReplyForm form);

    List<MessageVO> RepliedMessage();
}
